package com.evenmo.hrms.service;

import com.evenmo.hrms.pojo.*;


import java.util.List;
import java.util.Map;


public interface HrmsService {
    //用户登录
public User login(String loginName, String password);
    //查询所有的部门
    public List<Dept> findAllDepts();
    // 按照id查询部门
    public Dept findByDeptId(Integer deptId);
    //动态查询部门
    public List<Dept> findDeptByParams(Map<String,Object> params);

    //查询所有的职位
    public List<Job> findAllJobs();
    //按照id查询职位
    public Job findByJobId(Integer jobId);
    // 动态查询职位
    public List<Job> findJobByParams(Map<String,Object> params);

    //查询所有的员工
    public List<Employee> findAllEmployees();
    //按照id查询员工
    public Employee findByEmployeeId(Integer employeeId);
    // 动态查询员工
    public List<Employee> findEmployeeByParams(Employee employee);

    //查询所有的文档
    public List<Document> findAllDocuments();
    //按照id查询文档
    public Document findByDocumentId(Integer documentId);
    // 动态查询文档
    public List<Document> findDocumentByParams(Document document);

    //查询所有的通知
    public List<Notice> findAllNotices();
    //按照id查询通知
    public Notice findByNoticeId(Integer noticeId);
    // 动态查询通知
    public List<Notice> findNoticeByParams(Notice notice);

    //查询所有的用户
    public List<User> findAllUsers();
    //按照id查询用户
    public User findByUserId(Integer userId);
    // 动态查询用户
    public List<User> findUserByParams(User user);


    //修改部门
    public void updateDept(Dept dept);
    //修改职位
    public void updateJob(Job job,Map<String,Object> condtions);
    //修改文档
    public void updateDocument(Document document);
    //修改通知
    public void updateNotice(Notice notice);
    //修改员工
    public void updateEmployee(Employee employee);
    //修改用户
    public void updateUser(User user);


    //添加用户
    public void addUser(User user);
    //添加文档
    public void addDocument(Document document);
    //添加通知
    public void addNotice(Notice notice);
    //添加员工
    public void addEmployee(Employee employee);
    //添加部门
    public void addDept(Dept dept);
    //添加职位
    public void addJob(Job job);

    //删除用户
    public void deleteUser(Integer userId);
    //删除文档
    public void deleteDocument(Integer documentId);
    //删除通知
    public void deleteNotice(Integer noticeId);
    //删除部门
    public void deleteDept(Integer deptId);
    //删除职位
    public void deleteJob(Integer jobId);
    //删除员工
    public void deleteEmployee(Integer employeeId);


}
